import java.util.Arrays;

/**
 * @Author:fhx
 * @Date:2024/7/4
 * @Project:forum
 */
public class Solution {
    /*
    * 给你一个字符串数组 names ，和一个由 互不相同 的正整数组成的数组 heights 。两个数组的长度均为 n 。

对于每个下标 i，names[i] 和 heights[i] 表示第 i 个人的名字和身高。

请按身高 降序 顺序返回对应的名字数组 names 。 */
        public String[] sortPeople(String[] names, int[] heights) {
            Integer [] indices = new Integer[heights.length];
            for(int i = 0; i < indices.length; i++) {
                indices[i] = i;
            }
           Arrays.sort(indices, (a, b) -> heights[b] - heights[a]);

            String[] sortName = new String[names.length];

            for(int i = 0; i < indices.length; i++) {
                sortName[i] = names[indices[i]];
            }
            return sortName;
        }
}
